home *** CD-ROM | disk | FTP | other *** search
- How to Modify the Intel Setup program
-
- Intel provides the Indeo(TM) video drivers with a Setup utility that
- automatically installs the drivers along with Microsoft's Video for
- Windows(TM)* runtime files. The Intel Setup utility can be freely
- distributed with any application that uses Indeo video and the VfW
- runtimes. The Setup utility may be distributed as is. It is also
- possible to modify the Setup before it is distributed. This article
- first gives an overview of how the Setup utility works and then shows
- how to modify it.
-
- The Intel Setup utility is already a modified version of the Setup
- utility provided by Microsoft. The Microsoft Setup utility installs
- the Video for Windows (VfW) runtime files. The Intel Setup utility
- also installs the VfW runtime files, but includes all of the latest
- Indeo video drivers. With these additional drivers, the Intel Setup
- files do not all fit on one 3.5" diskette. It is possible to delete
- one or more files from Setup in order to bring the total size down to
- one diskette again. It is also possible to add more files to be
- installed by Setup.
-
- Background on Microsoft's Setup:
- --------------------------------
-
- By studying the contents of some of the text files used by Setup, it is
- possible to figure out how most of Setup works. There are only a
- couple files that ever need to be modified. Here is a list of the more
- important files:
-
- setup.exe - This file bootstraps the installation process.
- setup.lst - A text file containing startup parameters. It is usually
- not modified.
- setup.mst - A text file containing Basic language script that is
- executed during installation. This file can be modified.
- setup.inf - A text file containing the list of files to be installed.
- This file is the one that is most often modified.
- mscuistf.dll - A binary file that contains Setup dialog boxes. It is
- possible to modify this file to create a Setup with
- custom dialog boxes.
-
- The setup.exe file starts up execution. A temporary directory is
- created right away on the hard disk. Files that Setup uses during the
- installation process are copied into the temporary directory. Setup
- gets the name of the temporary directory (~msstfqf.t) and the names of
- the temporary files from the text file setup.lst. Most of the
- temporary files are compressed. The compressed files usually have a
- filename that ends with an underscore (_). Setup uncompresses these
- files while copying them into the temporary directory.
-
- The following is an example of what Microsoft's setup.lst looks like:
-
- ********************** Microsoft setup.lst ************************
-
- [Params]
- WndTitle = Video for Windows 1.1 Runtime
- WndMess = Initializing Setup...
- TmpDirSize = 500
- TmpDirName = ~msstfqf.t
- CmdLine = _mstest setup.mst /C "/S %s %s"
- DrvModName = DSHELL
-
- [Files]
- setup.mst = setup.mst
- setup.in_ = setup.inf
- setupapi.in_ = setupapi.inc
- msdetect.in_ = msdetect.inc
- mscpydis.in_ = mscpydis.inc
- mscpydis.dl_ = mscpydis.dll
- mscomstf.dl_ = mscomstf.dll
- msinsstf.dl_ = msinsstf.dll
- msuilstf.dl_ = msuilstf.dll
- msshlstf.dl_ = msshlstf.dll
- mscuistf.dl_ = mscuistf.dll
- msdetstf.dl_ = msdetstf.dll
- iniupd.dl_ = iniupd.dll
- _mstest.ex_ = _mstest.exe
- _mssetup.ex_ = _mssetup.exe
- profdisp.ex_ = profdisp.exe
-
-
- The [Files] section lists all of the files Setup copies into the
- temporary directory. The source filenames are on the left and the
- destination names are on the right. If the source file is compressed,
- Setup automatically decompresses it while it is being copied into the
- temporary directory.
-
- One file to note in this list is setup.inf. Setup.inf is a text file
- containing a list of all the files that are permanently installed by
- Setup. This is a file that often needs to be edited for a new
- installation. Microsoft typically provides this file in compressed
- format as setup.in_. As a result, the uncompressed setup.inf file only
- exists for a short time in the temporary directory while the Setup
- program is running. To save a permanent copy of setup.inf (or any of
- the temporary files), task switch over to Windows' File Manager just
- after Setup displays its Welcome dialog box. Under File Manager, find
- the temporary directory and copy setup.inf to a permanent directory for
- later use.
-
- Since setup.inf is an important file, and not very big, Intel Setup does
- not compress the setup.in_ file. Setup.inf always exists in
- uncompressed format. This makes the Intel Setup program easier to
- modify. The Intel setup.lst file uses this line instead in setup.inf:
-
- setup.inf = setup.inf
-
- Once the temporary directory is ready, the Basic script in setup.mst is
- executed. Looking inside setup.mst shows the following steps are taken:
-
- 1. Verify Setup is running on the correct version of Windows.
- 2. Put up the Welcome dialog box.
- 3. Get the filenames listed in setup.inf.
- 4. Install the files listed in setup.inf.
- 5. Put text entries in system.ini, win.ini, and control.ini files.
- 6. Put Media Player icon in Accessories group.
- 7. Profile the display.
- 8. Restart Windows.
-
- The temporary directory is automatically deleted when Setup is done.
-
- Setup.inf:
- ----------
-
- Setup.inf contains the names of the files to be installed. The line
- for the current Indeo video R3.2 driver looks as follows:
-
- 1, ir32.dll,,,, 1994-10-26,,, OLDER, !READONLY,,,,, SHARED, 151056,,
- ,, 3.22.1.44,
-
- This line has entries separated by commas for such things as diskette
- number, filename, date, size, and version number. In this case, Setup
- gets the file from diskette #1 (1), gets the name of the file to be
- copied and expanded (ir32.dll), assigns it a date (1994-10-26), only
- copies it over files with the same name that are older (OLDER), and
- does not make it a read-only file (!READONLY). It is treated as a
- shared file (SHARED) meaning it may already be in use by the system.
- Finally, it verifies the file size (151056) and version number
- (3.22.1.44).
-
- Any of these entries can be modified or deleted as part of a new
- installation routine. The commas used in each line are critical,
- spaces are not.
-
- Setup.mst:
- ----------
-
- Setup.mst contains the Basic language script that is executed by Setup
- during installation. Most of this code never changes except for a
- subroutine called "Install" near the end of the file. Here are four
- lines of code taken from the Install subroutine:
-
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.IV32",
- "ir32.dll", cmoOverwrite
- Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
- CreateProgmanItem "Accessories", "Media Player", MakePath(WinDir$,
- "mplayer.exe"), "", cmoOverwrite
- Run ("profdisp.exe")
-
- CreateIniKeyValue is a call to a routine that places text entries in
- the system.ini and control.ini files. This particular call looks in
- the Windows directory (Windir$) for the system.ini file and puts this
- entry in the [Drivers] section:
-
- VIDC.IV32=ir32.dll
-
- This call overwrites any previous VIDC.IV32 entries.
-
- The second line taken from Setup.mst runs the Windows Regedit utility
- using data stored in a file called mplayer.reg. The third line puts
- the Media Player icon in the Windows Accessories group. The last line
- runs a program called profdisp.exe. Profdisp profiles the display and
- places the results in the [drawdib] section of the win.ini file.
- Profdisp is one of the temporary files copied by Setup into the
- temporary directory. Profdisp is deleted when Setup is done.
-
- Even if you are not familiar with Basic programming, it is still
- possible to figure out what most of setup.mst does. The code that
- usually needs modification is that which calls the CreateIniKeyValue
- function. If an installation fails for unknown reasons, lines of
- code in Setup.mst can be commented out by placing two apostrophes
- ('') at the beginning of a line.
-
- Mscuistf.dll:
- -------------
-
- Mscuistf.dll contains the dialog boxes, such as the Welcome box, that
- are used by Setup during installation. Mscuistf.dll is expanded and
- copied into the temporary directory during startup. It is possible to
- modify these dialog boxes directly within the .dll file using utilities
- such as App Studio to customized the Setup routine. App Studio comes
- with Microsoft Visual C++.
-
- Modifying Intel Setup:
- ----------------------
-
- The current Intel Setup routine installs these codecs:
-
- Filename Description System.ini entries
- -------- ----------- ------------------
- ir32.dll Indeo(TM) video R3.2 VIDC.IV31=ir32.dll
- VIDC.IV32=ir32.dll
- ir21.dll Indeo(TM) video R2.1 VIDC.RT21=ir21.dll
- iyvu9.dll Indeo(TM) video Raw VIDC.YVU9=iyvu9.dll
- iccvid.drv Cinepak VIDC.CVID=iccvid.drv
- msvidc.drv MS Video 1 VIDC.MSVC=msvidc.drv
- msrle.drv MS RLE VIDC.MRLE=MSRLE.drv
-
- Any one of these files can be removed, if they are not needed, to
- reduce the size of the Setup routine. However, Video for Windows users
- typically assume a certain level of functionality after installing the
- VfW runtimes. Delete files at your own risk.
-
- The following steps show how to change Intel Setup so it no longer
- installs the RT21 Indeo video driver.
-
- 1. Delete the following line from the [AVICodecs] section of setup.inf:
-
- 1, ir21.dll,,,, 1993-11-19,,, OLDER, !READONLY,,,,, SHARED, 77664,,
- ,, 2.17.0.3,
-
- 2. Delete the following line from the Install subroutine of setup.mst:
-
- CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21",
- "ir21.dll", cmoOverwrite
-
- 3. Delete the compressed ir21.dl_ file.
-
- 4. The setup routine is ready to go.
-
-
- Microsoft Setup SDK:
- --------------------
-
- It is more difficult adding a file to be installed by Setup than
- deleting one. Microsoft's Setup SDK is usually needed to add a file.
- The Setup SDK provides Compress and Layout utilities along with some
- source code files. Microsoft used to supply the Setup SDK with V3.1 of
- the Windows SDK. The Setup Toolkit can now be obtained from Microsoft's
- Download Service (MSDL) at 206-936-6735. Look for a file called
- CP0982.EXE in the C/C++ section. A Setup tutorial is also available on
- MSDL. The tutorial is located in the WINSDK section in a file called
- SETTLKIT.EXE.
-